Analysis of India’s BC Data

Introduction

Moniroting Station

Location Details

Location AQ_Type Lat Long
Vill_1 RAMP 26.5318 80.38050
Vill_2 RAMP 26.5251 80.41490
KNP CPCB 26.4499 80.33190
LKO_Sch CPCB 26.7785 80.93130
LKO_Ind CPCB 26.8332 80.89660
Hamirpur IGPCARE 25.8154 79.91875

Stations in Map

Household and Village Details

We considered one household from each village. These two households were set up for indoor monitoring in addition to outdoor monitoring in the village center.

Building Structure

Household StructureHousehold Structure

Household Structure

Survey Results

Parameter Village1_HH Village2_HH
Population A2C0 A5C2
Prim CookFuel Dung Cake Dunc Cake
Sec CookFuel Kerosene/Firewood Diesel
Kitchen Type Indoor Outdoor Enclosed Kitchen
LPG Conn Yes Yes
No. Meals 2 2

AQ Data

Several data sets were utilized in this study.

  1. Rural Monitoring
  • Temporal Frequency: 5 min
  • Bhawani Kheda (Village 1) and Naikani Kheda (Village 2)
  • Household Indoor Air Quality
  • Village Outdoor Air Quality
  • Pollutants: (Raw data considered)
    • RAMP: PM2.5, CO, Temperature (T), Relative Humidity (RH)
    • MA300: BC, BCbb (biomass burning component), BCff (fossil fuel component), AAE (Angstrom Exponent), pctBB (BCbb percentage of total BC)
  1. Regulatory Monitoring
  • LKO_Sch: CPCB monitoring station in Lucknow Central School
    • Pollutants: PM2.5, CO, Temperature (AT), Relative Humidity (RH), NO, NOx, Ozone
    • Temporal Frequency: 15 min
    • Distance from Rural Monitoring: 59 km
  • LKO_Ind: CPCB monitoring station in Talkatora Industrial Belt
    • Pollutants: PM2.5, CO, Temperature (AT), Relative Humidity (RH), NO, NOx, NO2, SO2
    • Temporal Frequency: 15 min
    • Distance from Rural Monitoring: 59 km
  • KNP: CPCB monitoring station in Kanpur Neheru Nagar
    • Pollutants: PM2.5, Temperature (AT), Relative Humidity (RH), NO, NOx, Ozone
    • Temporal Frequency: 1 hour
    • Distance from Rural Monitoring: 12 km
  • IGPCARE: Long term monitoring station in a rural site in a nearby district
    • Data not available publicly
    • Pollutants: BC, BrC (Brown Carbon), O3, PM2.5
    • Rural regulatory monitoring site
    • operated by University of Gothenburg (Dr. Ravi Kant Pathak)
    • Distance from Present Rural Monitoring: 93 km
    • Note: Useful for comparing trends in rural BC pollution (MA300 vs AE)
    • Related Publication: https://pubs.rsc.org/en/content/articlehtml/2022/ea/d1ea00083g
Number of data points measured in Village
House n positive negative
Village1_Outdoor 2054 100 0
Village1_Indoor 1942 100 0
Village2_Outdoor 3815 100 0
Village2_Indoor 3223 100 0

Summary Statisics

Here I am focusing on the combustion generated pollutants, i.e. PM2.5, BC and CO. The mean concentration and coefficient of variation (standard deviation/mean) have been calculated and presented for indoor and outdoor in village 1 and 2.
House meanPM2.5 covPM2.5 meanBC covBC meanCO covCO
Village1_Outdoor 61.22 0.50 16.19 0.54 821.30 0.44
Village1_Indoor 64.19 0.44 16.26 0.42 1229.27 1.24
Village2_Outdoor 58.75 0.53 14.57 0.53 953.00 0.38
Village2_Indoor 63.43 0.71 14.12 0.51 1690.40 1.10

Note:

  1. Units: PM2.5 and BC are in \(\mu g/m^3\); CO in ppb
  2. Fill Here

Visualize Diurnal Change in Pollutants

Diurnal PM2.5

Diurnal CO

Diurnal BC

Reference measurement vs RAMP data

Analysis of BC concentration

BC concentration by activity period

HH_3 %>% ggplot(.,aes(x = activity, y = BC))+
  geom_boxplot()+
  theme_pubr()

### BC concentration by Location~Activity

HH_3 %>% ggplot(.,aes(x = activity, y = BC, fill = House))+
  geom_boxplot(position=position_dodge(0.8))+
  theme_pubr()

### BC concentration by DayPart~Activity

HH_3 %>% ggplot(.,aes(x = DayPart, y = BC, fill = House))+
  geom_boxplot(position=position_dodge(0.8))+
  theme_pubr()

## Source Apportionment Results

BCbb by Location~Activity

HH_3 %>% ggplot(.,aes(x = activity, y = BCbb, fill = House))+
  geom_boxplot(position=position_dodge(0.8))+
  theme_pubr()

### BCff by DayPart~Activity

HH_3 %>% ggplot(.,aes(x = DayPart, y = BCff, fill = House))+
  geom_boxplot(position=position_dodge(0.8))+
  theme_pubr()

Spatial Data

Map of Population Density

r = raster::raster("02_data/AQ3_Popul_IGP.nc")

pal <- colorBin(c("#8D5524", "#FFDBAC"), raster::values(r),
                bins = 5, na.color = "transparent")

raster::crs(r) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" 

leaflet() %>% addTiles() %>% addProviderTiles(providers$CartoDB.Positron) %>% 
  addRasterImage(r, colors = pal, opacity = 0.8) %>%
  addLegend(pal = pal, values = raster::values(r),
    title = "Popul Den") %>% 
  addPolygons(data = in_d, weight = 1, fill = FALSE, color = "#120f01") %>% 
  fitBounds(76, 30, 89, 21)
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA

Map of Simulated BC by Verma 2022

r = raster::raster("02_data/AQ3_388_bc_30d_mean.nc")
pal <- colorBin(c("#8D5524", "#FFDBAC"), raster::values(r),
                bins = 5, na.color = "transparent")

raster::crs(r) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" 

leaflet() %>% addTiles() %>% addProviderTiles(providers$CartoDB.Positron) %>% 
  addRasterImage(r, colors = pal, opacity = 0.8) %>%
  addLegend(pal = pal, values = raster::values(r),
    title = "Simulated BC") %>% 
  addPolygons(data = in_d, weight = 1, fill = FALSE, color = "#120f01") %>% 
  fitBounds(76, 30, 89, 21)